home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / wfc007.000 / include / cnetshar.hpp < prev    next >
C/C++ Source or Header  |  1996-04-08  |  2KB  |  81 lines

  1. #if ! defined( NETWORK_SHARE_CLASS_HEADER )
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like.
  9. */
  10.  
  11. #define NETWORK_SHARE_CLASS_HEADER
  12.  
  13. class CNetworkShareInformation : public CObject
  14. {
  15.    DECLARE_SERIAL( CNetworkShareInformation )
  16.  
  17.    private:
  18.  
  19.       void m_Initialize( void );
  20.  
  21.    public:
  22.  
  23.       CNetworkShareInformation();
  24.       CNetworkShareInformation( SHARE_INFO_2 *information_p );
  25.       virtual ~CNetworkShareInformation();
  26.  
  27.       CString NetworkName;
  28.       DWORD   Type;
  29.       CString Remark;
  30.       DWORD   Permissions;
  31.       DWORD   MaximumNumberOfUses;
  32.       DWORD   CurrentNumberOfUses;
  33.       CString PathName;
  34.       CString Password;
  35.  
  36.       virtual void Copy( SHARE_INFO_2 *source );
  37.       virtual void Empty( void );
  38.       virtual void Serialize( CArchive& archive );
  39. };
  40.  
  41. class CNetworkShares : public CNetwork
  42. {
  43.    DECLARE_SERIAL( CNetworkShares )
  44.  
  45.    private:
  46.  
  47.       void m_Initialize( void );
  48.  
  49.    protected:
  50.  
  51.       /*
  52.       ** Connection information variables
  53.       */
  54.  
  55.       SHARE_INFO_2 *m_2InformationBuffer;
  56.  
  57.       /*
  58.       ** File Information enumeration variables
  59.       */
  60.  
  61.       DWORD m_2ResumeHandle;
  62.       DWORD m_2CurrentEntryNumber;
  63.       DWORD m_2NumberOfEntriesRead;
  64.       DWORD m_2TotalNumberOfEntries;
  65.  
  66.    public:
  67.  
  68.       CNetworkShares();
  69.       CNetworkShares( LPCTSTR machine_name );
  70.       virtual ~CNetworkShares();
  71.  
  72.       virtual BOOL  Add( CNetworkShareInformation& share_to_add );
  73.       virtual void  Close( void );
  74.       virtual BOOL  Delete( CNetworkShareInformation& share_to_delete );
  75.       virtual BOOL  Enumerate( void );
  76.       virtual BOOL  GetNext( CNetworkShareInformation& information );
  77.       virtual void  Serialize( CArchive& archive );
  78. };
  79.  
  80. #endif // NETWORK_SHARE_CLASS_HEADER
  81.